﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace BattleCity
{
    public class Rectangulo : IFigura
    {

        //Atributos
        protected Rectangle rectangulo;
        
        //Constructor
        public Rectangulo(Point esquinqSuperiorIzquierdq, int ancho, int alto)
        {
            this.rectangulo = new Rectangle(esquinqSuperiorIzquierdq.X, esquinqSuperiorIzquierdq.Y, ancho, alto);
        }

        //Metod
        public Point getUbicacion() 
        { 
                return rectangulo.Location; 
        }
        public Point getCentro()
        {
            Point centro = new Point(rectangulo.Location.X + (rectangulo.Width / 2), rectangulo.Location.Y + (rectangulo.Height / 2));
            return centro;
        }

        public bool SeSuperponeCon(Rectangulo otraFigura)
        {
            if (this.rectangulo.IntersectsWith(otraFigura.rectangulo) || otraFigura.rectangulo.IntersectsWith(this.rectangulo))
            {
                return true;
            }
            return false;           
        }
        public bool SeSuperponeCon(IFigura otraFigura)
        {
            return otraFigura.SeSuperponeCon(this);

        }

        public bool Contiene(Rectangulo otraFigura)
        {
            if (this.rectangulo.Contains(otraFigura.rectangulo) || otraFigura.rectangulo.Contains(this.rectangulo))
            {
                return true;
            }
            return false;
        }
        public bool Contiene(IFigura otraFigura)
        {
            return otraFigura.Contiene(this); 
        }

        public void MoverArriba()
        {
            rectangulo.Y -= 1;
        }
        public void MoverAbajo()
        {
            rectangulo.Y += 1;
        }
        public void MoverDerecha()
        {
            rectangulo.X += 1;
        }
        public void MoverIzquierda()
        {
            rectangulo.X -= 1;
        }
    }
}
